home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 25 / Cream of the Crop 25.iso / bbs / pcsuni1.zip / HOHO302.ZIP / HOHAUS2.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1997-03-24  |  5KB  |  221 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     Integer  INTEGER005
  24.     Integer  INTEGER006
  25.     Integer  INTEGER007
  26.     String   STRING001
  27.     String   STRING002
  28.     String   STRING003
  29.     String   STRING004
  30.     String   STRING005
  31.     String   STRING006
  32.     String   STRING007
  33.  
  34. ;------------------------------------------------------------------------------
  35.  
  36.     INTEGER006 = 0
  37.     STRING002 = PPEPath()
  38.     INTEGER003 = Len(STRING002)
  39.     STRING002 = Left(STRING002, INTEGER003 - 1)
  40.     DOpen 0, PPEPath() + "HOHAUS.DBF", 0
  41.     INTEGER005 = DRecCount(0)
  42.     DTop 0
  43.     Cls
  44.     PrintLn 
  45.     PrintLn 
  46.     Newline
  47.     InputStr "@X0BDo you want to view rankings based on @X02(@X0CL@X02)@X0Bevel or @X02(@X0CT@X02)@X0Botal Net Worth @X02(@X0CL@X02/@X0CT@X02) _", STRING007, 15, 1, "LT", 0 + 8
  48.     If (STRING007 == "") End
  49.     If (STRING007 == "L") Goto LABEL003
  50.     FOpen 3, "Sort.Bat", 2, 0
  51.     FPutLn 3, "Cd " + STRING002
  52.     FPutLn 3, "Type " + String(PPEPath()) + String(PcbNode()) + ".Tmp" + " | Hosort /R >" + String(PPEPath()) + String(PcbNode()) + ".Srt"
  53.     FPutLn 3, "Exit"
  54.     FClose 3
  55.     FAppend 1, PPEPath() + String(PcbNode()) + ".Tmp", 2, 0
  56.     :LABEL001
  57.     If (DEof(0)) Goto LABEL002
  58.     DGet 0, "HANDLE", STRING001
  59.     If (Trim(STRING001, " ") == "PCS SOFTWARE") Then
  60.         DSkip 0, 1
  61.     Else
  62.         DGet 0, "LEVEL", INTEGER001
  63.         DGet 0, "NETWORTH", INTEGER007
  64.         DSkip 0, 1
  65.         FPutPad 1, Trim(INTEGER007, " "), 15
  66.         FPutPad 1, Trim(STRING001, " "), 25
  67.         FPutPad 1, Trim(INTEGER001, " "), 6
  68.         FPutLn 1
  69.     Endif
  70.     Goto LABEL001
  71.     :LABEL002
  72.     FClose 1
  73.     Shell 1, INTEGER002, "sort.bat", ""
  74.     Cls
  75.     PrintLn 
  76.     PrintLn "                               @X0ANet Worth Ranking        "
  77.     PrintLn 
  78.     PrintLn "              @X0CNet Worth      @X0BPlayer                   @X0ELevel"
  79.     PrintLn "              @X05─────────────────────────────────────────────"
  80.     For INTEGER004 = 1 To INTEGER005 - 1
  81.         STRING003 = ReadLine(PPEPath() + String(PcbNode()) + ".srt", INTEGER004)
  82.         STRING004 = Left(Trim(Left(STRING003, 15), " ") + "@X09······························", 19)
  83.         STRING005 = Left(Trim(Mid(STRING003, 16, 25), " ") + "@X09····························", 29)
  84.         STRING006 = Left(Trim(Right(STRING003, 6), " ") + "@X09····························", 9)
  85.         If (INTEGER006 == 0) PrintLn "@POS:15@@X8C", STRING004, "@POS:30@@X8B", STRING005, "@POS:49@@X8E", STRING006, "@X0F"
  86.         If (INTEGER006 >= 1) PrintLn "@POS:15@@X0C", STRING004, "@POS:30@@X0B", STRING005, "@POS:49@@X0E", STRING006
  87.         Inc INTEGER006
  88.     Next
  89.     PrintLn 
  90.     Print "                            "
  91.     Wait
  92.     Delete "Sort.Bat"
  93.     Delete PPEPath() + String(PcbNode()) + ".Tmp"
  94.     Delete PPEPath() + String(PcbNode()) + ".SRT"
  95.     End
  96.     :LABEL003
  97.     FOpen 3, "sort.bat", 2, 0
  98.     FPutLn 3, "cd " + STRING002
  99.     FPutLn 3, "type " + String(PPEPath()) + String(PcbNode()) + ".tmp" + " | Hosort /r >" + String(PPEPath()) + String(PcbNode()) + ".Srt"
  100.     FPutLn 3, "Exit"
  101.     FClose 3
  102.     FAppend 1, PPEPath() + String(PcbNode()) + ".Tmp", 2, 0
  103.     :LABEL004
  104.     If (DEof(0)) Goto LABEL006
  105.     DGet 0, "HANDLE", STRING001
  106.     If (Trim(STRING001, " ") == "PCS SOFTWARE") Then
  107.         DSkip 0, 1
  108.     Else
  109.         DGet 0, "LEVEL", INTEGER001
  110.         DGet 0, "NETWORTH", INTEGER007
  111.         DSkip 0, 1
  112.         If (Left(STRING001, 10) == "USER ALIAS") Goto LABEL005
  113.         FPutPad 1, Trim(INTEGER001, " "), 6
  114.         FPutPad 1, Trim(STRING001, " "), 25
  115.         FPutPad 1, Trim(INTEGER007, " "), 15
  116.         FPutLn 1
  117.     Endif
  118.     :LABEL005
  119.     Goto LABEL004
  120.     :LABEL006
  121.     FClose 1
  122.     Shell 1, INTEGER002, "sort.bat", ""
  123.     Cls
  124.     PrintLn 
  125.     PrintLn "                          @X0AHouse Level Ranking "
  126.     PrintLn 
  127.     PrintLn "              @X0CLevel   @X0BPlayer                   @X0ENet Worth  "
  128.     PrintLn "              @X05───────────────────────────────────────────"
  129.     For INTEGER004 = 1 To INTEGER005 - 1
  130.         STRING003 = ReadLine(PPEPath() + String(PcbNode()) + ".srt", INTEGER004)
  131.         STRING004 = Left(Trim(Left(STRING003, 6), " ") + "@X09··························", 12)
  132.         STRING005 = Left(Trim(Mid(STRING003, 7, 25), " ") + "@X09·························", 29)
  133.         STRING006 = Left(Trim(Right(STRING003, 6), " ") + "@X09····················", 14)
  134.         If (INTEGER006 == 0) PrintLn "@POS:15@@X8C", STRING004, "@POS:23@@X8B", STRING005, "@POS:48@@X8E", STRING006, "@X0F"
  135.         If (INTEGER006 >= 1) PrintLn "@POS:15@@X0C", STRING004, "@POS:23@@X0B", STRING005, "@POS:48@@X0E", STRING006
  136.         Inc INTEGER006
  137.     Next
  138.     PrintLn 
  139.     Print "                        "
  140.     Wait
  141.     Delete "Sort.Bat"
  142.     Delete PPEPath() + String(PcbNode()) + ".Tmp"
  143.     Delete PPEPath() + String(PcbNode()) + ".SRT"
  144.     End
  145.  
  146. ;------------------------------------------------------------------------------
  147. ;
  148. ; Usage report (before postprocessing)
  149. ;
  150. ; ■ Statements used :
  151. ;
  152. ;    3       End
  153. ;    3       Cls
  154. ;    2       Wait
  155. ;    14      Goto 
  156. ;    17      Let 
  157. ;    2       Print 
  158. ;    18      PrintLn 
  159. ;    13      If 
  160. ;    2       FOpen 
  161. ;    2       FAppend 
  162. ;    4       FClose 
  163. ;    8       FPutLn 
  164. ;    6       FPutPad 
  165. ;    6       Delete 
  166. ;    1       InputStr 
  167. ;    2       Inc 
  168. ;    1       Newline
  169. ;    2       Shell 
  170. ;    1       DOpen 
  171. ;    1       DTop 
  172. ;    4       DSkip 
  173. ;    6       DGet 
  174. ;
  175. ;
  176. ; ■ Functions used :
  177. ;
  178. ;    42      +
  179. ;    5       -
  180. ;    7       ==
  181. ;    2       <
  182. ;    2       <=
  183. ;    6       >=
  184. ;    6       !
  185. ;    4       &&
  186. ;    2       ||
  187. ;    1       Len(
  188. ;    2       Mid()
  189. ;    10      Left()
  190. ;    2       Right()
  191. ;    14      Trim()
  192. ;    16      String()
  193. ;    14      PPEPath()
  194. ;    12      PcbNode()
  195. ;    2       ReadLine()
  196. ;    2       DEof()
  197. ;    1       DRecCount()
  198. ;
  199. ;------------------------------------------------------------------------------
  200. ;
  201. ; Analysis flags : S
  202. ;
  203. ; S - Shell to DOS ■ 5
  204. ;     This may be normal if the PPE need to execute an external command,
  205. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  206. ;     or usefull (sorting, maintenance,...). Check!
  207. ;     ■ Search for : SHELL
  208. ;
  209. ;------------------------------------------------------------------------------
  210. ;
  211. ; Postprocessing report
  212. ;
  213. ;    2       For/Next
  214. ;    0       While/EndWhile
  215. ;    2       If/Then or If/Then/Else
  216. ;    0       Select Case
  217. ;
  218. ;------------------------------------------------------------------------------
  219. ;                 AEGiS Corp - Break the routines, code against the machines!
  220. ;------------------------------------------------------------------------------
  221.